home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / SciAn / src / ScianLists.h < prev    next >
C/C++ Source or Header  |  1994-08-01  |  1KB  |  61 lines

  1. /*ScianThingLists.h
  2.   External stuff for lists of things.
  3. */
  4.  
  5. typedef struct objlist            /*List of objects*/
  6.     {
  7.     struct objlist *next;        /*Next thing in list*/
  8.     ThingPtr thing;        /*This thing*/
  9.     } ThingListElement, *ThingListPtr;
  10.  
  11. typedef struct
  12.     {
  13.     Thing thing;            /*The thing part, containing flags*/
  14.     ThingListPtr list;        /*The list, initially 0*/
  15.     ThingListPtr lastNode;        /*The last node in the list*/
  16.     } List, *LPtr;
  17.  
  18. #define LISTOF(l) (((LPtr) l) -> list)
  19.  
  20. /*Method declarations*/
  21. ObjPtr PressList();
  22.  
  23. #ifdef PROTO
  24. ObjPtr NewList(void);
  25. int WhichListIndex(ObjPtr, ObjPtr);
  26. ObjPtr KeyDownList(ObjPtr list, int key, long flags);
  27. Bool PrefixList(ObjPtr, ThingPtr);
  28. Bool PostfixList(ObjPtr, ThingPtr);
  29. int DeleteFromList(ObjPtr, ThingPtr);
  30. void DisposeList(ObjPtr);
  31. int ListCount(ObjPtr);
  32. ObjPtr GetListElem(ObjPtr, int);
  33. void DrawList(ObjPtr);
  34. ObjPtr DropList(ObjPtr, ObjPtr, int, int);
  35. void InitLists(void);
  36. void KillLists(void);
  37. Bool AppendList(ObjPtr, ObjPtr);
  38. void EmptyList(ObjPtr);
  39. ObjPtr CopyList(ObjPtr);
  40. ObjPtr SortListByStringVar(ObjPtr list, NameTyp id, Bool ascending);
  41. #else
  42. ObjPtr NewList();
  43. int WhichListIndex();
  44. ObjPtr KeyDownList();
  45. Bool PrefixList();
  46. Bool PostfixList();
  47. int DeleteFromList();
  48. void DisposeList();
  49. int ListCount();
  50. ObjPtr GetListElem();
  51. void DrawList();
  52. ObjPtr DropList();
  53. void InitLists();
  54. void KillLists();
  55. Bool AppendList();
  56. void EmptyList();
  57. ObjPtr CopyList();
  58. ObjPtr SortListByStringVar();
  59. #endif
  60.  
  61.